home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Monster4.cpp < prev    next >
C/C++ Source or Header  |  1999-01-21  |  3KB  |  111 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Monster4.h"
  6. //---------------------------------------------------------------------------
  7. #pragma resource "*.dfm"
  8.  
  9. const String Pfad = "c:\\cpp\\buch\\";
  10.  
  11. class TMonster
  12. {
  13. private:
  14.   String Name;
  15.   String Wesen;
  16.   String Bild;
  17. public:
  18.   virtual void Erscheinen(void);
  19.   virtual String Typ (void) {return "Monster";};
  20.   TMonster (String N, String W, String Datei);
  21. };
  22.  
  23. class TGMonster : public TMonster
  24. {
  25. public:
  26.   virtual String Typ (void) {return "GeistesMonster";};
  27.   TGMonster (String N, String W, String Datei);
  28. };
  29.  
  30. class TSMonster : public TMonster
  31. {
  32. public:
  33.   virtual String Typ (void) {return "SeelenMonster";};
  34.   TSMonster (String N, String W, String Datei);
  35. };
  36.  
  37. //---------------------------------------------------------------------------
  38.  
  39. TMonster *WerWohl;
  40. bool Modus;
  41. int  Zufall;
  42. TForm1 *Form1;
  43.  
  44. //---------------------------------------------------------------------------
  45. TMonster::TMonster (String N, String W, String Datei)
  46. {
  47.   Name = N; Wesen = W; Bild = Datei;
  48. }
  49. //---------------------------------------------------------------------------
  50. TGMonster::TGMonster (String N, String W, String Datei)
  51.   : TMonster (N, W, Datei)
  52. {
  53. }
  54. //---------------------------------------------------------------------------
  55. TSMonster::TSMonster (String N, String W, String Datei)
  56.  : TMonster (N, W, Datei)
  57. {
  58. }
  59. //---------------------------------------------------------------------------
  60. void TMonster::Erscheinen (void)
  61. {
  62.   Form1->Label1->Caption = "Name:    " + Name;
  63.   Form1->Label2->Caption = "Wesen:    " + Wesen;
  64.   Form1->Label3->Caption = "Typ:    " + Typ();
  65.   Form1->Image1->Picture->LoadFromFile (Pfad+Bild);
  66.   Form1->Image1->Show ();
  67. }
  68. //---------------------------------------------------------------------------
  69. __fastcall TForm1::TForm1(TComponent* Owner)
  70.     : TForm(Owner)
  71. {
  72. }
  73. //---------------------------------------------------------------------------
  74. void __fastcall TForm1::FormCreate(TObject *Sender)
  75. {
  76.   randomize ();
  77.   Modus = true;
  78. }
  79. //---------------------------------------------------------------------------
  80. void __fastcall TForm1::Button1Click(TObject *Sender)
  81. {
  82.   if (Modus)
  83.   {
  84.     Zufall = random(3);
  85.     switch (Zufall)
  86.     {
  87.       case 0:
  88.         WerWohl =
  89.           new TMonster("Frankie", "ungew÷hnlich", "Frank.bmp");
  90.         break;
  91.       case 1:
  92.         WerWohl =
  93.           new TGMonster("Berti", "nachdenklich", "Albert.bmp");
  94.         break;
  95.       case 2:
  96.         WerWohl =
  97.           new TSMonster("Sigi", "mitfⁿhlend", "Sigmund.bmp");
  98.     }
  99.     WerWohl->Erscheinen ();
  100.     Button1->Caption = "Verschwinden";
  101.   }
  102.   else
  103.   {
  104.     delete WerWohl;
  105.     Image1->Hide ();
  106.     Button1->Caption = "Erscheinen";
  107.   }
  108.   Modus = !Modus;
  109. }
  110. //---------------------------------------------------------------------------
  111.